% This LaTeX file generated by cxref
% cxref program (c) Andrew M. Bishop 1995,96.

\markboth{File README.c}{File README.c}
\section{File README.c}
\label{file_README.c}

{\bf RCS Header: /home/amb/cxref/RCS/README.c 1.2 1995/07/30 17:16:07 amb Exp }

\smallskip

A comment for the file, RCS header comments are treated specially when first.

\subsection*{Included Files}

A \#include comment

\smallskip
\begin{cxreftabi}
{\stt \#include <stdio.h>} &\\
\end{cxreftabi}

\medskip
An alternative \#include comment.

\smallskip
\begin{cxreftabi}
{\stt \#include <math.h>} &\\
\end{cxreftabi}

\subsection*{Preprocessor definitions}

A \#define comment.

\smallskip
{\stt \#define def1 1}

\medskip
An alternative \#define comment.

\smallskip
{\stt \#define def2 2}

\medskip
A \#define with args

\smallskip
{\stt \#define def3( arg1, arg2 )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{arg1} The first arg
\cxrefargitem{arg2} The second arg
\end{cxrefarglist}

\medskip
An alternative \#define with args.

\smallskip
{\stt \#define def4( arg1, arg2 )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{arg1} The first arg
\cxrefargitem{arg2} The second arg
\end{cxrefarglist}

\subsection{Type definitions}

\subsubsection{Typedef type1}
\label{type_type1_README.c}

An example typedef comment

\smallskip
{\stt typedef enum \{...\} type1}

\smallskip
\begin{cxreftabiia}
\hspace*{0.0in}{\stt enum} &\\
\hspace*{0.1in}{\stt \{} &\\
\hspace*{0.2in}{\stt one} & one value \\
\hspace*{0.2in}{\stt two} & another value \\
\hspace*{0.1in}{\stt \}} &\\
\end{cxreftabiia}

\subsubsection{Type union bar}
\label{type_union_bar_README.c}

Nested structs and unions also work.

\smallskip
\smallskip
\begin{cxreftabiia}
\hspace*{0.0in}{\stt union bar} &\\
\hspace*{0.1in}{\stt \{} &\\
\hspace*{0.2in}{\stt void a} & Each element \\
\hspace*{0.2in}{\stt int b} & of a struct \\
\hspace*{0.2in}{\stt int c} & or a union \\
\cxreftabbreak{cxreftabiia}
\hspace*{0.2in}{\stt long d} & can have a comment \\
\hspace*{0.1in}{\stt \}} &\\
\end{cxreftabiia}

\subsubsection{Typedef type2}
\label{type_type2_README.c}

Another example typedef comment, a type that is a struct.

\smallskip
{\stt typedef struct \{...\} type2}

\smallskip
\begin{cxreftabiia}
\hspace*{0.0in}{\stt struct} &\\
\hspace*{0.1in}{\stt \{} &\\
\hspace*{0.2in}{\stt int a} & A variable in a struct. \\
\hspace*{0.2in}{\stt union bar} & Nested structs and unions also work. \\
\hspace*{0.3in}{\stt \{} &\\
\hspace*{0.4in}{\stt void a} & Each element \\
\cxreftabbreak{cxreftabiia}
\hspace*{0.4in}{\stt int b} & of a struct \\
\hspace*{0.4in}{\stt int c} & or a union \\
\hspace*{0.4in}{\stt long d} & can have a comment \\
\hspace*{0.3in}{\stt \}} &\\
\hspace*{0.3in}{\stt e} &\\
\hspace*{0.1in}{\stt \}} &\\
\end{cxreftabiia}

\subsubsection{Typedef ptype2}
\label{type_ptype2_README.c}

Another example typedef comment, a pointer to a struct type.

\smallskip
{\stt typedef struct \{...\}* ptype2}

\smallskip
\begin{cxreftabii}
See:& Typedef type2 & \cxreftype{type2}{README.c}\\
\end{cxreftabii}

\subsection{Variables}

\subsubsection{Variable var1}
\label{var_var1_README.c}

A leading comment only.

\smallskip
{\stt int var1}

\subsubsection{Variable var2}
\label{var_var2_README.c}

A leading comment only.

\smallskip
{\stt int var2}

\subsubsection{Variable var3}
\label{var_var3_README.c}

A trailing comment only.

\smallskip
{\stt int var3}

\subsubsection{Variable var4}
\label{var_var4_README.c}

A variable for one thing.

\smallskip
{\stt int var4}

\subsubsection{Variable var5}
\label{var_var5_README.c}

A variable for a second thing.

\smallskip
{\stt int var5}

\subsubsection{Variable var6}
\label{var_var6_README.c}

A variable for a third thing.

\smallskip
{\stt int var6}

\subsection{Functions}

\subsubsection{Global Function function1()}
\label{func_function1_README.c}

A function comment (the comments for the args need to be separated by a blank line).

\smallskip
{\stt int function1 ( int arg1, int arg2 )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{int function1} The return value.
\cxrefargitem{int arg1} The first argument.
\cxrefargitem{int arg2} The second argument.
\end{cxrefarglist}

\smallskip
Some more comment

An internal comment in a function that appears as a
new paragraph at the end of the comment.

\subsubsection{Global Function function2()}
\label{func_function2_README.c}

An alternative function comment

\smallskip
{\stt int function2 ( int arg1, int arg2 )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{int function2} Returns a value
\cxrefargitem{int arg1} The first argument.
\cxrefargitem{int arg2} The second argument.
\end{cxrefarglist}

